package com.tequila.core.service;

import com.tequila.domain.dto.UserDto;
import com.tequila.domain.entity.User;
import com.tequila.domain.query.UserQuery;

import fe.core.Pagination;

import java.util.List;

public interface UserService {

    public Pagination<UserDto> queryPageListByParam(UserQuery query);

    public UserDto queryById(Long id);

    public List<UserDto> queryByIdList(List<Long> idList);

    public List<UserDto> queryListByParam(UserQuery query);

    public Long insert(User entity);

    public Long save(User entity);

    public int updateById(User param);

    public int updateSelectiveById(User param);

    public int deleteById(Long id);

    public int deleteByIdList(List<Long> idList);

    public int insertOrUpdate(UserDto userDto);
}
